Buenos días, tengo un problema al parsear una cadena de un archivo, llevo tres días tratando de solucionarlo, así que recurriré a ustedes.
 
El programa parsea esta linea de un archivo:    
Código C:
Ver original- # Depends on: fontconfig-32 freeglut-32 xorg-libxcomposite-32 xorg-libxcursor-32 xorg-libxinerama-32 xorg-libxrandr-32 xorg-libxxf86dga-32 alsa-lib-32 libpng-32 libjpeg-32 prelink 
El problema está en que me imprime siempre un residuo de la cadena anterior, a ver... este es el código:    
Código C:
Ver original- int main(int argc, char *argv[]) { 
-     char *pkgfile = search_pkgfile("wine"); 
-     char *test; 
-       
-     while ((test = dependencies_pkgfile(pkgfile)) != NULL) { 
-     } 
-      
-     return 0; 
- } 
-   
- char *dependencies_pkgfile (char *dir_pkgfile) 
- { 
-     FILE  *- pkgfile  = fopen(- dir_pkgfile , "r");
-     static int c_n = 0; 
-     static char depends_p[2000]; 
-     char *depends_po = depends_p; 
-      
-     while ((fgets(- depends_p , sizeof(- depends_p ),-  pkgfile ) !=-  NULL )) {
 
-         if (strncmp(- depends_p , "# Depends on:", 13) == 0) {
 
-             depends_po = (depends_po+c_n)+13; 
-              
-              
-             while (!(isalpha(*- depends_po )) && (*- depends_po  != '\0' &&-  depends_po ++));
 
-             if (*depends_po == '\0') { 
-                 return NULL; 
-             } 
-             else { 
-                 depends_po = depends_po-1; 
-             } 
-              
-             int c_d = 0; 
-              
-             while (*depends_po != '\0' && depends_po++) { 
-                 if ((*depends_po == ' ' || *depends_po == '\0') && *(depends_po-1) != ' ') { 
-                     depends[c_d] = '\0'; 
-                      
-                     return depends; 
-                 } 
-                 else if ((isalpha(*- depends_po )) || (isdigit(*- depends_po )) || *- depends_po  == '-') {
 
-                     depends[c_d] = *depends_po; 
-                      
-                     c_d++; 
-                     c_n++; 
-                 } 
-             } 
-              
-             return NULL; 
-         } 
-     } 
-      
-     return NULL; 
- } 
Y me imprime así:    
Código HTML:
Ver original- fontconfig-32 
- freeglut-32 
- xorg-libxcomposite-32 
- xorg-libxcursor-32 
- r-32 #Esto no deberia imprimirlo 
- xorg-libxinerama-32 
- xorg-libxrandr-32 
- xorg-libxxf86dga-32 
- alsa-lib-32 
- b-32 #Esto no deberia imprimirlo 
- libpng-32 
- libjpeg-32 
- prelink 
- ink  #Esto no deberia imprimirlo 
Espero su ayuda, muchisimas gracas.