rpms/htop/EL-4 htop-0.8.2-arrays.patch,NONE,1.1

Adam Miller maxamillion at fedoraproject.org
Thu Jun 18 21:30:14 UTC 2009


Author: maxamillion

Update of /cvs/extras/rpms/htop/EL-4
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17120

Added Files:
	htop-0.8.2-arrays.patch 
Log Message:


htop-0.8.2-arrays.patch:

--- NEW FILE htop-0.8.2-arrays.patch ---
Index: FunctionBar.c
===================================================================
--- FunctionBar.c	(revision 162)
+++ FunctionBar.c	(working copy)
@@ -52,12 +52,14 @@ FunctionBar* FunctionBar_new(char** func
       this->functions = malloc(sizeof(char*) * 15);
       this->keys = malloc(sizeof(char*) * 15);
       this->events = malloc(sizeof(int) * 15);
-      int i = 0;
-      while (i < 15 && functions[i]) {
+      int i;
+      for (i = 0; i < 15; i++) {
+         if (functions[i] == NULL) /* We don't know the size of the array,  */
+            break;                 /* so let's assume it is NULL terminated */
+                                   /* and break if we find that NULL        */
          this->functions[i] = String_copy(functions[i]);
          this->keys[i] = String_copy(keys[i]);
          this->events[i] = events[i];
-         i++;
       }
       this->size = i;
    } else {
Index: htop.c
===================================================================
--- htop.c	(revision 162)
+++ htop.c	(working copy)
@@ -151,7 +151,7 @@ static void showHelp(ProcessList* pl) {
    clear();
 }
 
-static char* CategoriesFunctions[10] = {"      ", "      ", "      ", "      ", "      ", "      ", "      ", "      ", "      ", "Done  "};
+static char* CategoriesFunctions[] = {"      ", "      ", "      ", "      ", "      ", "      ", "      ", "      ", "      ", "Done  ", NULL};
 
 static void Setup_run(Settings* settings, int headerHeight) {
    ScreenManager* scr = ScreenManager_new(0, headerHeight, 0, -1, HORIZONTAL, true);
@@ -190,7 +190,7 @@ static HandlerResult pickWithEnter(Panel
 }
 
 static Object* pickFromVector(Panel* panel, Panel* list, int x, int y, char** keyLabels, FunctionBar* prevBar) {
-   char* fuKeys[2] = {"Enter", "Esc"};
+   char* fuKeys[] = {"Enter", "Esc", NULL};
    int fuEvents[2] = {13, 27};
    if (!list->eventHandler)
       Panel_setEventHandler(list, pickWithEnter);
@@ -326,7 +326,7 @@ int main(int argc, char** argv) {
    Panel_setRichHeader(panel, ProcessList_printHeader(pl));
    
    char* searchFunctions[] = {"Next  ", "Exit  ", " Search: ", NULL};
-   char* searchKeys[] = {"F3", "Esc", "  "};
+   char* searchKeys[] = {"F3", "Esc", "  ", NULL};
    int searchEvents[] = {KEY_F(3), 27, ERR};
    FunctionBar* searchBar = FunctionBar_new(searchFunctions, searchKeys, searchEvents);
    
@@ -656,7 +656,7 @@ int main(int argc, char** argv) {
          
          Panel* affinityPanel = AffinityPanel_new(pl->processorCount, curr);
 
-         char* fuFunctions[2] = {"Set    ", "Cancel "};
+         char* fuFunctions[3] = {"Set    ", "Cancel ", NULL};
          void* set = pickFromVector(panel, affinityPanel, 15, headerHeight, fuFunctions, defaultBar);
          if (set) {
             unsigned long new = AffinityPanel_getAffinity(affinityPanel);
@@ -695,7 +695,7 @@ int main(int argc, char** argv) {
       {
          Panel* sortPanel = Panel_new(0, 0, 0, 0, LISTITEM_CLASS, true, ListItem_compare);
          Panel_setHeader(sortPanel, "Sort by");
-         char* fuFunctions[2] = {"Sort  ", "Cancel "};
+         char* fuFunctions[] = {"Sort  ", "Cancel ", NULL};
          ProcessField* fields = pl->fields;
          for (int i = 0; fields[i]; i++) {
             char* name = String_trim(Process_fieldTitles[fields[i]]);




More information about the fedora-extras-commits mailing list